package org.rency.crawler.fetch.converter.impl;

import org.rency.crawler.dal.entity.FetchStateRuleDO;
import org.rency.crawler.domain.state.FetchStateRuleDomain;
import org.rency.crawler.domain.state.FetchStatus;
import org.rency.crawler.fetch.converter.AbstractDomainConvertor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;

/**
 * 描述: ${TODO}<br>
 * 最近修改时间:2017/11/20 18:05<br>
 *
 * @author CaiyuRen
 * @version V1.0
 * @since 2017/11/20 18:05
 */
@Component
public class FetchStateRuleDomainConvertor extends AbstractDomainConvertor<FetchStateRuleDomain, FetchStateRuleDO> {

  @Override
  public FetchStateRuleDomain convertDomain(FetchStateRuleDO entity) {
    if(entity == null){
      return null;
    }
    FetchStateRuleDomain domain = new FetchStateRuleDomain();
    BeanUtils.copyProperties(entity,domain);
    domain.setFsStatus(FetchStatus.get(entity.getFsStatus()));
    return domain;
  }

  @Override
  public FetchStateRuleDO convertEntity(FetchStateRuleDomain domain) {
    if(domain == null){
      return null;
    }
    FetchStateRuleDO entity = new FetchStateRuleDO();
    BeanUtils.copyProperties(domain,entity);
    entity.setFsStatus(domain.getFsStatus() == null ? null : domain.getFsStatus().getCode());
    return entity;
  }
}
